1. Field of the Invention
The present invention relates to a cooperative processing apparatus and a cooperative processing method. In particular, the invention relates to a cooperative processing apparatus and a cooperative processing method that are suitable for use in a document processing network system in which various apparatus are connected to each other via a network and a document is processed through cooperative use of services provided by respective apparatus.
2. Description of the Related Art
Various techniques are known that relate to distributed processing systems that execute a series of processing steps by using, in a cooperative manner, programs and services (functions) that are distributed via a network.
For example, a system is known that enables interactive operation of objects of two or more different kinds of object systems in a digital computer and can generate a larger-size object-oriented software project by combining those objects (e.g., JP-T-10-505693 (the symbol “JP-T” as used herein means a published Japanese translation of a PCT patent application)). Also known is an apparatus that provides a real-time event processing service at each of service nodes that are distributed in the entire intelligent network (e.g., JP-T-2002-528932).
Techniques relating to distributed processing systems in which agents that operate independently cooperate to perform a series of work steps are known. Among those is a technique in which, in an agent system in which information is processed in such a manner that an agent operates through a network having multiple platforms, an agent action plan is drawn up according to situations and whether the agent should make an inter-node movement or cooperate with another agent to perform processing at another node is determined dynamically according to conditions, whereby information is processed efficiently while adaptation is made to variations (e.g., JP-A-2000-29847). Also known in a message delivery method and an agent apparatus in which a service list is added to a message that is exchanged between pieces of software such as agents that are distributed via a network, the service list being defined by a series of pair data of message destination information and process information specified by the message. A process is executed in such a manner that while a service list portion for which processing has been finished by software at a destination is deleted, the message to which the service list is added is delivered from one pieces of software to another (e.g., JP-A-11-175421).
A network cooperation apparatus is also known in which cooperative processing data are transmitted between cooperative apparatus in order of processing in a case that a cooperative process is executed in such a manner that input/output functions and programs that operate on apparatus connected to a network are combined in accordance with how each user uses them (e.g., JP-A-2001-306534).
On the other hand, in the office environment, distributed processing type document processing network systems are employed increasingly in which scanners, facsimile machines, copiers, composite machines thereof, personal computers, mail servers, etc. are connected to each other via a network and document data is processed through cooperative use of services provided by those apparatus. Among those document processing network systems are systems that intensively manage cooperation between services distributed via a network using a server and systems in which a cooperative process is executed without use of a server in such a manner that cooperation information including cooperative relationships between services and input/output information is transmitted in order between apparatus that provide the services.
However, in document processing network systems that do not use a server, cooperation between services cannot be managed intensively. This results in a problem that if a failure occurs during execution of a cooperative process, cooperation information disappears in an apparatus or a communication channel where the failure has occurred and the process is suspended. In the above-described conventional techniques, no consideration is given to a case that a failure occurs during execution of a cooperative process.